bdc call transaction mode 'A' and mode 'N' | 您所在的位置:网站首页 › transaction with › bdc call transaction mode 'A' and mode 'N' |
Hi all In my below mentioned code statement bdc call transaction eg33 mode 'A' is working fine in both programs main program and called(submit) program (highlighted here). But if I give mode 'N' in both called and calling program call transaction the called program using submit is not at all called. Suggest me what to do if i want to run it in background.Write now its runing in foreground and user has to press enter many times which i want to avoid. REPORT zac_eg33 NO STANDARD PAGE HEADING LINE-SIZE 100. TABLES: EABL, BUT000, ZISUH0003. DATA: IT_STATUS TYPE ZISUH0003. DATA: G_INDEX TYPE I, G_START_COL TYPE I VALUE '1', "start column G_START_ROW TYPE I VALUE '14', "start row G_END_COL TYPE I VALUE '18', "maximum column G_END_ROW TYPE I VALUE '75', "maximum row G_TEXT(20), "stores error messages G_PAGES TYPE I, G_CURRENT_PAGE TYPE I, G_COUNT LIKE SY-DBCNT. data: l_file type file_table, file1 type string, l_title type string, LENGTH TYPE I, FILES type filetable, SUBRC type i, STR_FILE type STRING, D_FILE type RLGRAP-FILENAME, filename TYPE String, L_itab_date(10). FIELD-SYMBOLS : . DATA msgtext(80). DATA: IT_EXCEL LIKE STANDARD TABLE OF ALSMEX_TABLINE WITH HEADER LINE, IT_MESS TYPE STANDARD TABLE OF BDCMSGCOLL WITH HEADER LINE. TYPES: BEGIN OF TY_OPEN, HAUS LIKE REG30-HAUS, EADAT(10), GERAETNEU LIKE REG30-GERAETNEU, MESSDRCK LIKE REG30-MESSDRCK, ZWSTANDCE LIKE REG30-ZWSTANDCE, XYZ LIKE EGPLD-DEVLOC, END OF TY_OPEN. DATA : T_ANLAGE LIKE EANLD-ANLAGE, VSTELLE LIKE EVBS-VSTELLE, S_ANLAGE LIKE EANLD-ANLAGE, temp_c(7). DATA: IT_OPEN TYPE STANDARD TABLE OF TY_OPEN WITH HEADER LINE. DATA: BDCDATA1 TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE. SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001. SELECTION-SCREEN SKIP 2. PARAMETERS: P_FILE like RLGRAP-FILENAME OBLIGATORY. SELECTION-SCREEN SKIP 2. SELECTION-SCREEN END OF BLOCK 1. ************************************************************************ ************************************************************************ AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE . PERFORM GET_FILE_NAME. MOVE FILENAME TO P_FILE. *START-OF-SELECTION. *CLEAR IT_EXCEL. START-OF-SELECTION. CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE' EXPORTING FILENAME = p_file I_BEGIN_COL = 1 "VF_START_COL I_BEGIN_ROW = 2 "VF_START_ROW I_END_COL = 5 "VF_END_COL I_END_ROW = 10000 "VF_END_ROW TABLES INTERN = IT_EXCEL EXCEPTIONS INCONSISTENT_PARAMETERS = 1 UPLOAD_OLE = 2 OTHERS = 3 . IF SY-SUBRC 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. IF IT_EXCEL[] IS INITIAL. G_TEXT = 'No Data Uploaded'. ELSE. SORT IT_EXCEL BY ROW COL. LOOP AT IT_EXCEL. MOVE : IT_EXCEL-COL TO G_INDEX. ASSIGN COMPONENT G_INDEX OF STRUCTURE IT_OPEN TO . MOVE IT_EXCEL-VALUE TO . AT END OF ROW. IF NOT IT_OPEN IS INITIAL. APPEND IT_OPEN." TO IT_LINE. CLEAR IT_OPEN. CLEAR IT_EXCEL. ENDIF. ENDAT. ENDLOOP. ENDIF. REFRESH IT_EXCEL. ULINE. FORMAT COLOR 3 ON. WRITE: /1 sy-vline , 2 'Material No.' , 25 sy-vline, 2 'Logs' , 100 sy-vline. uline. FORMAT COLOR OFF. LOOP AT IT_OPEN. REFRESH BDCDATA1. clear : temp_c. move it_open-MESSDRCK to temp_c. condense : temp_c. PERFORM MAP1. *CALL TRANSACTION 'EG33' USING BDCDATA1 MODE 'A' MESSAGES INTO IT_MESS. GET PARAMETER ID 'GEP' FIELD it_open-XYZ. SET PARAMETER ID 'IFL' FIELD it_open-XYZ. *MESSAGE X003(IA) INTO msgtext. *IF MSGTEXT = 'Only single installation is allowed at functional location &'. *EXIT. *ELSE. SUBMIT ZIL02_BDC and return.* ENDIF. DATA: G_INSNO LIKE IT_OPEN-HAUS. IF NOT IT_MESS[] IS INITIAL. G_INSNO = IT_OPEN-HAUS. PERFORM GET_MESSAGES TABLES IT_MESS USING G_INSNO." IT_LINE. ENDIF. READ TABLE IT_MESS WITH KEY MSGTYP = 'E'. IF SY-SUBRC NE 0. READ TABLE IT_MESS WITH KEY MSGTYP = 'S' MSGNR = '622'. IF SY-SUBRC EQ 0. SELECT SINGLE VSTELLE FROM EVBS INTO VSTELLE WHERE HAUS = IT_OPEN-HAUS. SELECT SINGLE ANLAGE FROM EANL INTO T_ANLAGE WHERE VSTELLE = VSTELLE. MOVE T_ANLAGE TO IT_STATUS-ANLAGE. MOVE 'X' TO IT_STATUS-RFC. *perform get_date_format using IT_OPEN-EADAT. MOVE IT_OPEN-EADAT TO IT_STATUS-ADATE. SELECT SINGLE ANLAGE FROM ZISUH0003 INTO S_ANLAGE WHERE ANLAGE = T_ANLAGE. IF SY-SUBRC EQ 4. INSERT ZISUH0003 FROM IT_STATUS. ELSE. UPDATE ZISUH0003 FROM IT_STATUS. ENDIF. ENDIF. ENDIF. REFRESH IT_MESS. CLEAR IT_MESS. ENDLOOP. *PERFORM BDC_OPEN_READING. MESSAGE S013(ZPS). &---- *& Form GET_FILE_NAME &---- text ---- --> p1 text file_open_dialog exporting window_title = l_title changing file_table = files rc = subrc exceptions file_open_dialog_failed = 1 cntl_error = 2 error_no_gui = 3 others = 4. check sy-subrc = 0. loop at files into l_file. str_file = l_file. move str_file to filename. exit. endloop. ENDFORM. " GET_FILE_NAME &---- *& Form BDC_OPEN_READING &---- text ---- --> p1 text p1 text P_IT_ORDER_TABLE_C_DATE text ---- FORM get_date_format USING L_ITAB_DATE." LIKE SY-DATUM. data: d_temp(4), m_temp(2), y_temp(4). *move L_ITAB_DATE to L_ITAB_DATE. y_temp = L_ITAB_DATE(4). m_temp = L_ITAB_DATE+4(2). d_temp = L_ITAB_DATE+6(2). CONCATENATE d_temp '.' m_temp '.' y_temp into L_ITAB_DATE. ENDFORM. " get_date_format &---- *& Form GET_MESSAGES &---- text ---- -->P_IT_MESS text -->P_G_INSNO text ---- FORM GET_MESSAGES TABLES IT_MESS STRUCTURE BDCMSGCOLL USING G_INSNO . TABLES T100. DATA: L_MSTRING(255). LOOP AT IT_MESS WHERE MSGTYP = 'E' OR MSGTYP = 'S'. SELECT SINGLE * FROM T100 WHERE SPRSL = IT_MESS-MSGSPRA AND ARBGB = IT_MESS-MSGID AND MSGNR = IT_MESS-MSGNR. IF SY-SUBRC = 0. L_MSTRING = T100-TEXT. IF L_MSTRING CS '&1'. REPLACE '&1' WITH IT_MESS-MSGV1 INTO L_MSTRING. REPLACE '&2' WITH IT_MESS-MSGV2 INTO L_MSTRING. REPLACE '&3' WITH IT_MESS-MSGV3 INTO L_MSTRING. REPLACE '&4' WITH IT_MESS-MSGV4 INTO L_MSTRING. ELSE. REPLACE '&' WITH IT_MESS-MSGV1 INTO L_MSTRING. REPLACE '&' WITH IT_MESS-MSGV2 INTO L_MSTRING. REPLACE '&' WITH IT_MESS-MSGV3 INTO L_MSTRING. REPLACE '&' WITH IT_MESS-MSGV4 INTO L_MSTRING. ENDIF. CONDENSE L_MSTRING. ENDIF. CONDENSE G_INSNO. CONCATENATE 'For' ' ' G_INSNO ',' L_MSTRING INTO L_MSTRING SEPARATED BY SPACE. FORMAT COLOR 2 ON. *IF IT_MESS-MSGTYP = 'S' AND IT_MESS-MSGNR = '622'. *WRITE: 1 sy-vline, L_MSTRING under 'Error Messages', 100 sy-vline. *ULINE. *ELSEIF IT_MESS-MSGTYP = 'E'. WRITE: 1 sy-vline, L_MSTRING under 'Logs', 100 sy-vline. ULINE. *ENDIF. ENDLOOP. ENDFORM. " GET_MESSAGES
code for ZIL02_BDC .report ZIL02_BDC no standard page heading line-size 255. *data : XYZ LIKE EGPLD-DEVLOC. TYPES: BEGIN OF TY_OPEN, HAUS LIKE REG30-HAUS, EADAT(10), GERAETNEU LIKE REG30-GERAETNEU, MESSDRCK LIKE REG30-MESSDRCK, ZWSTANDCE LIKE REG30-ZWSTANDCE, XYZ LIKE EGPLD-DEVLOC, END OF TY_OPEN. DATA: IT_OPEN TYPE STANDARD TABLE OF TY_OPEN WITH HEADER LINE. DATA: BDCDATA TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE. GET PARAMETER ID 'GEP' FIELD it_open-XYZ. DATA : IT_MESS TYPE STANDARD TABLE OF BDCMSGCOLL WITH HEADER LINE. *include bdcrecx1. start-of-selection. perform bdc_dynpro using 'SAPMILO0' '1110'. perform bdc_field using 'BDC_CURSOR' 'IFLO-TPLNR'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'IFLO-TPLNR' it_open-xyz. perform bdc_field using 'RILO0-TPLKZ' 'AO_GP'. perform bdc_dynpro using 'SAPMILO0' '2100'. perform bdc_field using 'BDC_CURSOR' 'IFLO-PLTXT'. perform bdc_field using 'BDC_OKCODE' '=T\04'. perform bdc_field using 'IFLO-PLTXT' 'DEVICE LOCATION'. perform bdc_dynpro using 'SAPMILO0' '2100'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'IFLO-PLTXT' 'DEVICE LOCATION'. perform bdc_field using 'BDC_CURSOR' 'ITOBATTR-EINZL'. perform bdc_field using 'ITOBATTR-IEQUI' 'X'. perform bdc_field using 'ITOBATTR-EINZL' 'X'. perform bdc_dynpro using 'SAPMILO0' '2100'. perform bdc_field using 'BDC_OKCODE' '=BU'. perform bdc_field using 'IFLO-PLTXT' 'DEVICE LOCATION'. perform bdc_field using 'BDC_CURSOR' 'ITOBATTR-EINZL'. perform bdc_field using 'ITOBATTR-IEQUI' 'X'. perform bdc_field using 'ITOBATTR-EINZL' 'X'. CALL TRANSACTION 'IL02' USING BDCDATA MODE 'A' MESSAGES INTO IT_MESS. ---- Start new screen * ---- FORM BDC_DYNPRO USING PROGRAM DYNPRO. CLEAR BDCDATA. BDCDATA-PROGRAM = PROGRAM. BDCDATA-DYNPRO = DYNPRO. BDCDATA-DYNBEGIN = 'X'. APPEND BDCDATA. ENDFORM. "BDC_DYNPRO ---- Insert field * ---- FORM BDC_FIELD USING FNAM FVAL. IF FVAL SPACE. CLEAR BDCDATA. BDCDATA-FNAM = FNAM. BDCDATA-FVAL = FVAL. APPEND BDCDATA. ENDIF. ENDFORM. "BDC_FIELD |
CopyRight 2018-2019 实验室设备网 版权所有 |